\section{ethernet.\+c File Reference}
\label{ethernet_8c}\index{ethernet.\+c@{ethernet.\+c}}


Ethernet over Ether\+C\+AT (EoE).  


\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ E\+O\+E\+\_\+\+D\+E\+B\+U\+G\+\_\+\+L\+E\+V\+EL}~1
\begin{DoxyCompactList}\small\item\em Defines the debug level of EoE processing. \end{DoxyCompactList}\item 
\mbox{\label{ethernet_8c_a70c1d2d995c7441a4f6e24aa46c08939}} 
\#define \textbf{ E\+C\+\_\+\+E\+O\+E\+\_\+\+T\+X\+\_\+\+Q\+U\+E\+U\+E\+\_\+\+S\+I\+ZE}~100
\begin{DoxyCompactList}\small\item\em Size of the EoE tx queue. \end{DoxyCompactList}\item 
\mbox{\label{ethernet_8c_a0e63bd7f607fd32315eef69b1f66835f}} 
\#define \textbf{ E\+C\+\_\+\+E\+O\+E\+\_\+\+T\+R\+I\+ES}~100
\begin{DoxyCompactList}\small\item\em Number of tries. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \textbf{ ec\+\_\+eoe\+\_\+flush} (\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$eoe)
\begin{DoxyCompactList}\small\item\em Empties the transmit queue. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+start} (\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$eoe)
\begin{DoxyCompactList}\small\item\em State\+: R\+X\+\_\+\+S\+T\+A\+RT. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+check} (\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$eoe)
\begin{DoxyCompactList}\small\item\em State\+: R\+X\+\_\+\+C\+H\+E\+CK. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+fetch} (\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$eoe)
\begin{DoxyCompactList}\small\item\em State\+: R\+X\+\_\+\+F\+E\+T\+CH. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+eoe\+\_\+state\+\_\+tx\+\_\+start} (\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$eoe)
\begin{DoxyCompactList}\small\item\em State\+: TX S\+T\+A\+RT. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+eoe\+\_\+state\+\_\+tx\+\_\+sent} (\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$eoe)
\begin{DoxyCompactList}\small\item\em State\+: TX S\+E\+NT. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+eoedev\+\_\+open} (struct net\+\_\+device $\ast$dev)
\begin{DoxyCompactList}\small\item\em Opens the virtual network device. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+eoedev\+\_\+stop} (struct net\+\_\+device $\ast$dev)
\begin{DoxyCompactList}\small\item\em Stops the virtual network device. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+eoedev\+\_\+tx} (struct sk\+\_\+buff $\ast$skb, struct net\+\_\+device $\ast$dev)
\begin{DoxyCompactList}\small\item\em Transmits data via the virtual network device. \end{DoxyCompactList}\item 
struct net\+\_\+device\+\_\+stats $\ast$ \textbf{ ec\+\_\+eoedev\+\_\+stats} (struct net\+\_\+device $\ast$dev)
\begin{DoxyCompactList}\small\item\em Gets statistics about the virtual network device. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+eoe\+\_\+init} (\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$eoe, \textbf{ ec\+\_\+slave\+\_\+t} $\ast$slave)
\begin{DoxyCompactList}\small\item\em EoE constructor. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+eoe\+\_\+clear} (\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$eoe)
\begin{DoxyCompactList}\small\item\em EoE destructor. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+eoe\+\_\+send} (\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$eoe)
\begin{DoxyCompactList}\small\item\em Sends a frame or the next fragment. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+eoe\+\_\+run} (\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$eoe)
\begin{DoxyCompactList}\small\item\em Runs the EoE state machine. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+eoe\+\_\+queue} (\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$eoe)
\begin{DoxyCompactList}\small\item\em Queues the datagram, if necessary. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+eoe\+\_\+is\+\_\+open} (const \textbf{ ec\+\_\+eoe\+\_\+t} $\ast$eoe)
\begin{DoxyCompactList}\small\item\em Returns the state of the device. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+eoe\+\_\+is\+\_\+idle} (const \textbf{ ec\+\_\+eoe\+\_\+t} $\ast$eoe)
\begin{DoxyCompactList}\small\item\em Returns the idle state. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static const struct net\+\_\+device\+\_\+ops \textbf{ ec\+\_\+eoedev\+\_\+ops}
\begin{DoxyCompactList}\small\item\em Device operations for EoE interfaces. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Ethernet over Ether\+C\+AT (EoE). 



\subsection{Macro Definition Documentation}
\mbox{\label{ethernet_8c_a6e67793856d7614e89ecdf6bd55c59de}} 
\index{ethernet.\+c@{ethernet.\+c}!E\+O\+E\+\_\+\+D\+E\+B\+U\+G\+\_\+\+L\+E\+V\+EL@{E\+O\+E\+\_\+\+D\+E\+B\+U\+G\+\_\+\+L\+E\+V\+EL}}
\index{E\+O\+E\+\_\+\+D\+E\+B\+U\+G\+\_\+\+L\+E\+V\+EL@{E\+O\+E\+\_\+\+D\+E\+B\+U\+G\+\_\+\+L\+E\+V\+EL}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{E\+O\+E\+\_\+\+D\+E\+B\+U\+G\+\_\+\+L\+E\+V\+EL}
{\footnotesize\ttfamily \#define E\+O\+E\+\_\+\+D\+E\+B\+U\+G\+\_\+\+L\+E\+V\+EL~1}



Defines the debug level of EoE processing. 

0 = No debug messages. 1 = Output warnings. 2 = Output actions. 3 = Output actions and frame data. 

Definition at line 56 of file ethernet.\+c.



\subsection{Function Documentation}
\mbox{\label{ethernet_8c_a970fad1d21f02be260525eecca75dfea}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoe\+\_\+flush@{ec\+\_\+eoe\+\_\+flush}}
\index{ec\+\_\+eoe\+\_\+flush@{ec\+\_\+eoe\+\_\+flush}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoe\+\_\+flush()}
{\footnotesize\ttfamily void ec\+\_\+eoe\+\_\+flush (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$}]{eoe }\end{DoxyParamCaption})}



Empties the transmit queue. 


\begin{DoxyParams}{Parameters}
{\em eoe} & EoE handler \\
\hline
\end{DoxyParams}


Definition at line 232 of file ethernet.\+c.

\mbox{\label{ethernet_8c_a0c3f0cfe4de9ea263299cca79a514fe2}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+start@{ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+start}}
\index{ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+start@{ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+start}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+start()}
{\footnotesize\ttfamily void ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+start (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$}]{eoe }\end{DoxyParamCaption})}



State\+: R\+X\+\_\+\+S\+T\+A\+RT. 

Starts a new receiving sequence by queueing a datagram that checks the slave\textquotesingle{}s mailbox for a new EoE datagram.

\begin{DoxyRefDesc}{Todo}
\item[\textbf{ Todo}]Use both devices. \end{DoxyRefDesc}

\begin{DoxyParams}{Parameters}
{\em eoe} & EoE handler \\
\hline
\end{DoxyParams}


Definition at line 394 of file ethernet.\+c.

\mbox{\label{ethernet_8c_aeb363618e311593a3ba9162d048b9c4a}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+check@{ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+check}}
\index{ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+check@{ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+check}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+check()}
{\footnotesize\ttfamily void ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+check (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$}]{eoe }\end{DoxyParamCaption})}



State\+: R\+X\+\_\+\+C\+H\+E\+CK. 

Processes the checking datagram sent in R\+X\+\_\+\+S\+T\+A\+RT and issues a receive datagram, if new data is available. 
\begin{DoxyParams}{Parameters}
{\em eoe} & EoE handler \\
\hline
\end{DoxyParams}


Definition at line 415 of file ethernet.\+c.

\mbox{\label{ethernet_8c_a9022acd1ebb43ff1cad0a079f58e1264}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+fetch@{ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+fetch}}
\index{ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+fetch@{ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+fetch}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+fetch()}
{\footnotesize\ttfamily void ec\+\_\+eoe\+\_\+state\+\_\+rx\+\_\+fetch (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$}]{eoe }\end{DoxyParamCaption})}



State\+: R\+X\+\_\+\+F\+E\+T\+CH. 

Checks if the requested data of R\+X\+\_\+\+C\+H\+E\+CK was received and processes the EoE datagram. 
\begin{DoxyParams}{Parameters}
{\em eoe} & EoE handler \\
\hline
\end{DoxyParams}


Definition at line 446 of file ethernet.\+c.

\mbox{\label{ethernet_8c_a4b1876fbf6c3be4f5b8e432207b2b5e5}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoe\+\_\+state\+\_\+tx\+\_\+start@{ec\+\_\+eoe\+\_\+state\+\_\+tx\+\_\+start}}
\index{ec\+\_\+eoe\+\_\+state\+\_\+tx\+\_\+start@{ec\+\_\+eoe\+\_\+state\+\_\+tx\+\_\+start}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoe\+\_\+state\+\_\+tx\+\_\+start()}
{\footnotesize\ttfamily void ec\+\_\+eoe\+\_\+state\+\_\+tx\+\_\+start (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$}]{eoe }\end{DoxyParamCaption})}



State\+: TX S\+T\+A\+RT. 

Starts a new transmit sequence. If no data is available, a new receive sequence is started instead.

\begin{DoxyRefDesc}{Todo}
\item[\textbf{ Todo}]Use both devices. \end{DoxyRefDesc}

\begin{DoxyParams}{Parameters}
{\em eoe} & EoE handler \\
\hline
\end{DoxyParams}


Definition at line 623 of file ethernet.\+c.

\mbox{\label{ethernet_8c_ac4a0bc15df72c6d646fbcb9ad9e3d552}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoe\+\_\+state\+\_\+tx\+\_\+sent@{ec\+\_\+eoe\+\_\+state\+\_\+tx\+\_\+sent}}
\index{ec\+\_\+eoe\+\_\+state\+\_\+tx\+\_\+sent@{ec\+\_\+eoe\+\_\+state\+\_\+tx\+\_\+sent}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoe\+\_\+state\+\_\+tx\+\_\+sent()}
{\footnotesize\ttfamily void ec\+\_\+eoe\+\_\+state\+\_\+tx\+\_\+sent (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$}]{eoe }\end{DoxyParamCaption})}



State\+: TX S\+E\+NT. 

Checks is the previous transmit datagram succeded and sends the next fragment, if necessary. 
\begin{DoxyParams}{Parameters}
{\em eoe} & EoE handler \\
\hline
\end{DoxyParams}


Definition at line 698 of file ethernet.\+c.

\mbox{\label{ethernet_8c_a6d276523f5d753ec334b8b8e8f21d7e9}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoedev\+\_\+open@{ec\+\_\+eoedev\+\_\+open}}
\index{ec\+\_\+eoedev\+\_\+open@{ec\+\_\+eoedev\+\_\+open}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoedev\+\_\+open()}
{\footnotesize\ttfamily int ec\+\_\+eoedev\+\_\+open (\begin{DoxyParamCaption}\item[{struct net\+\_\+device $\ast$}]{dev }\end{DoxyParamCaption})}



Opens the virtual network device. 

\begin{DoxyReturn}{Returns}
Always zero (success). 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em dev} & EoE net\+\_\+device \\
\hline
\end{DoxyParams}


Definition at line 764 of file ethernet.\+c.

\mbox{\label{ethernet_8c_aead802b75eda8893b75fe909bf5250d3}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoedev\+\_\+stop@{ec\+\_\+eoedev\+\_\+stop}}
\index{ec\+\_\+eoedev\+\_\+stop@{ec\+\_\+eoedev\+\_\+stop}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoedev\+\_\+stop()}
{\footnotesize\ttfamily int ec\+\_\+eoedev\+\_\+stop (\begin{DoxyParamCaption}\item[{struct net\+\_\+device $\ast$}]{dev }\end{DoxyParamCaption})}



Stops the virtual network device. 

\begin{DoxyReturn}{Returns}
Always zero (success). 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em dev} & EoE net\+\_\+device \\
\hline
\end{DoxyParams}


Definition at line 786 of file ethernet.\+c.

\mbox{\label{ethernet_8c_a1cb83fb1b9325e98a1ad2f6c8b02c9ac}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoedev\+\_\+tx@{ec\+\_\+eoedev\+\_\+tx}}
\index{ec\+\_\+eoedev\+\_\+tx@{ec\+\_\+eoedev\+\_\+tx}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoedev\+\_\+tx()}
{\footnotesize\ttfamily int ec\+\_\+eoedev\+\_\+tx (\begin{DoxyParamCaption}\item[{struct sk\+\_\+buff $\ast$}]{skb,  }\item[{struct net\+\_\+device $\ast$}]{dev }\end{DoxyParamCaption})}



Transmits data via the virtual network device. 

\begin{DoxyReturn}{Returns}
Zero on success, non-\/zero on failure. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em skb} & transmit socket buffer \\
\hline
{\em dev} & EoE net\+\_\+device \\
\hline
\end{DoxyParams}


Definition at line 808 of file ethernet.\+c.

\mbox{\label{ethernet_8c_a66606d2d064e12129cc3a99c7e84fa74}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoedev\+\_\+stats@{ec\+\_\+eoedev\+\_\+stats}}
\index{ec\+\_\+eoedev\+\_\+stats@{ec\+\_\+eoedev\+\_\+stats}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoedev\+\_\+stats()}
{\footnotesize\ttfamily struct net\+\_\+device\+\_\+stats $\ast$ ec\+\_\+eoedev\+\_\+stats (\begin{DoxyParamCaption}\item[{struct net\+\_\+device $\ast$}]{dev }\end{DoxyParamCaption})}



Gets statistics about the virtual network device. 

\begin{DoxyReturn}{Returns}
Statistics. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em dev} & EoE net\+\_\+device \\
\hline
\end{DoxyParams}


Definition at line 860 of file ethernet.\+c.

\mbox{\label{ethernet_8c_a938c671559b99ddc9f09f689457ff2bf}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoe\+\_\+init@{ec\+\_\+eoe\+\_\+init}}
\index{ec\+\_\+eoe\+\_\+init@{ec\+\_\+eoe\+\_\+init}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoe\+\_\+init()}
{\footnotesize\ttfamily int ec\+\_\+eoe\+\_\+init (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$}]{eoe,  }\item[{\textbf{ ec\+\_\+slave\+\_\+t} $\ast$}]{slave }\end{DoxyParamCaption})}



EoE constructor. 

Initializes the EoE handler, creates a net\+\_\+device and registers it.

\begin{DoxyReturn}{Returns}
Zero on success, otherwise a negative error code. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em eoe} & EoE handler \\
\hline
{\em slave} & Ether\+C\+AT slave \\
\hline
\end{DoxyParams}


Definition at line 104 of file ethernet.\+c.

\mbox{\label{ethernet_8c_a44f532d9502383805937d7843240a0d0}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoe\+\_\+clear@{ec\+\_\+eoe\+\_\+clear}}
\index{ec\+\_\+eoe\+\_\+clear@{ec\+\_\+eoe\+\_\+clear}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoe\+\_\+clear()}
{\footnotesize\ttfamily void ec\+\_\+eoe\+\_\+clear (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$}]{eoe }\end{DoxyParamCaption})}



EoE destructor. 

Unregisteres the net\+\_\+device and frees allocated memory. 
\begin{DoxyParams}{Parameters}
{\em eoe} & EoE handler \\
\hline
\end{DoxyParams}


Definition at line 208 of file ethernet.\+c.

\mbox{\label{ethernet_8c_a634e85c58d58049c893721b7bd27f217}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoe\+\_\+send@{ec\+\_\+eoe\+\_\+send}}
\index{ec\+\_\+eoe\+\_\+send@{ec\+\_\+eoe\+\_\+send}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoe\+\_\+send()}
{\footnotesize\ttfamily int ec\+\_\+eoe\+\_\+send (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$}]{eoe }\end{DoxyParamCaption})}



Sends a frame or the next fragment. 

\begin{DoxyReturn}{Returns}
Zero on success, otherwise a negative error code. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em eoe} & EoE handler \\
\hline
\end{DoxyParams}


Definition at line 254 of file ethernet.\+c.

\mbox{\label{ethernet_8c_a236cd1c306b14db3c71ed94e233ee23b}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoe\+\_\+run@{ec\+\_\+eoe\+\_\+run}}
\index{ec\+\_\+eoe\+\_\+run@{ec\+\_\+eoe\+\_\+run}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoe\+\_\+run()}
{\footnotesize\ttfamily void ec\+\_\+eoe\+\_\+run (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$}]{eoe }\end{DoxyParamCaption})}



Runs the EoE state machine. 


\begin{DoxyParams}{Parameters}
{\em eoe} & EoE handler \\
\hline
\end{DoxyParams}


Definition at line 324 of file ethernet.\+c.

\mbox{\label{ethernet_8c_aa96fc479a7b625718b2502a201563e44}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoe\+\_\+queue@{ec\+\_\+eoe\+\_\+queue}}
\index{ec\+\_\+eoe\+\_\+queue@{ec\+\_\+eoe\+\_\+queue}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoe\+\_\+queue()}
{\footnotesize\ttfamily void ec\+\_\+eoe\+\_\+queue (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+eoe\+\_\+t} $\ast$}]{eoe }\end{DoxyParamCaption})}



Queues the datagram, if necessary. 


\begin{DoxyParams}{Parameters}
{\em eoe} & EoE handler \\
\hline
\end{DoxyParams}


Definition at line 352 of file ethernet.\+c.

\mbox{\label{ethernet_8c_a13b38b2204c153ade2d9c0b942cd49b1}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoe\+\_\+is\+\_\+open@{ec\+\_\+eoe\+\_\+is\+\_\+open}}
\index{ec\+\_\+eoe\+\_\+is\+\_\+open@{ec\+\_\+eoe\+\_\+is\+\_\+open}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoe\+\_\+is\+\_\+open()}
{\footnotesize\ttfamily int ec\+\_\+eoe\+\_\+is\+\_\+open (\begin{DoxyParamCaption}\item[{const \textbf{ ec\+\_\+eoe\+\_\+t} $\ast$}]{eoe }\end{DoxyParamCaption})}



Returns the state of the device. 

\begin{DoxyReturn}{Returns}
1 if the device is \char`\"{}up\char`\"{}, 0 if it is \char`\"{}down\char`\"{} 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em eoe} & EoE handler \\
\hline
\end{DoxyParams}


Definition at line 366 of file ethernet.\+c.

\mbox{\label{ethernet_8c_abfb958afb1ae5c90c9753664345b3e59}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoe\+\_\+is\+\_\+idle@{ec\+\_\+eoe\+\_\+is\+\_\+idle}}
\index{ec\+\_\+eoe\+\_\+is\+\_\+idle@{ec\+\_\+eoe\+\_\+is\+\_\+idle}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoe\+\_\+is\+\_\+idle()}
{\footnotesize\ttfamily int ec\+\_\+eoe\+\_\+is\+\_\+idle (\begin{DoxyParamCaption}\item[{const \textbf{ ec\+\_\+eoe\+\_\+t} $\ast$}]{eoe }\end{DoxyParamCaption})}



Returns the idle state. 


\begin{DoxyRetVals}{Return values}
{\em 1} & The device is idle. \\
\hline
{\em 0} & The device is busy. \\
\hline
\end{DoxyRetVals}

\begin{DoxyParams}{Parameters}
{\em eoe} & EoE handler \\
\hline
\end{DoxyParams}


Definition at line 378 of file ethernet.\+c.



\subsection{Variable Documentation}
\mbox{\label{ethernet_8c_a69c3c873c239f69737af0785814c6665}} 
\index{ethernet.\+c@{ethernet.\+c}!ec\+\_\+eoedev\+\_\+ops@{ec\+\_\+eoedev\+\_\+ops}}
\index{ec\+\_\+eoedev\+\_\+ops@{ec\+\_\+eoedev\+\_\+ops}!ethernet.\+c@{ethernet.\+c}}
\subsubsection{ec\+\_\+eoedev\+\_\+ops}
{\footnotesize\ttfamily const struct net\+\_\+device\+\_\+ops ec\+\_\+eoedev\+\_\+ops\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}
= \{
    .ndo\_open = ec_eoedev_open,
    .ndo\_stop = ec_eoedev_stop,
    .ndo\_start\_xmit = ec_eoedev_tx,
    .ndo\_get\_stats = ec_eoedev_stats,
\}
\end{DoxyCode}


Device operations for EoE interfaces. 



Definition at line 88 of file ethernet.\+c.

